@spaceingType: { m: margin; p: padding;};
@spaceingDirections: { t: top; r: right; b: bottom; l: left;};
@spaceingBaseSize: 5px;
@spaceingSizes: {
  0: 0;
  5: 1;
  10: 2;
  15: 3;
  20: 4;
  25: 5;
  30: 6;
  35: 7;
  40: 8;
  45: 9;
  50: 10;
  100: 20;
};


each(@spaceingType, .(@typeVal, @typeKey, @typeIdx) {
  // eg:  mt-md
  each(@spaceingDirections, .(@dirVal, @dirKey, @dirIdx) {
    each(@spaceingSizes, { .@{typeKey}@{dirKey}-@{key} { @{typeVal}-@{dirVal}: @value * @spaceingBaseSize; } })
  })
  // eg: ma-md
  each(@spaceingSizes, {
    .@{typeKey}a-@{key} { @{typeVal}: @value * @spaceingBaseSize; }
  })
})
